var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var bodyParser = require('body-parser');

var index = require('./routes/index');
var users = require('./routes/users');

//引入routes merchant
var merchant = require('./routes/merchant');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(session({
    resave: true,
    saveUninitialized: false,
    cookie: {maxAge: 1000*60*60*6 },
    secret: 'amc'
}));

// app.use(function(req,res,next){
//     if (!req.session.user) {
//         console.log(req.url);
//         if(req.url=="/amc_m/mer/login"||req.url=="/amc_m/mer/register"){
//             next();
//         }
//         else
//         {
//             var resJson = {
//                 resultcode: "404",
//                 reason: "fail",
//                 error_code: "404",
//                 data:"you must login or you cannot use this api"
//             };
//             res.send(resJson);
//         }
//     } else if (req.session.user) {
//         next();
//     }
// });

//定义路由
//入口
app.use('/amc_m', index);
//其他路由，如users
app.use('/amc_m/users', users);

//updata merchant info
app.use('/amc_m/mer',merchant);



// catch 404 and forward to error handler
app.use(function(req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;
